Web-SCADA Pult.online построена на гибкой и масштабируемой клиент-серверной архитектуре. Основными логическими компонентами системы являются сервер и коммуникационные шлюзы. Шлюзы обеспечивают постоянное соединение с сервером, мониторинг аварий, трендов и выполнение задач по расписанию. Сервер предоставляет пользовательский интерфейс и обеспечивает хранение исторических данных.
Сервер и Шлюз представляют собой программные компоненты и могут быть запущены на широком спектре устройств, работающих под ОС Linux. Сервер системы может быть размещен в интернете или в локальной сети объекта. При необходимости, Сервер и Шлюз могут быть установлены вместе, на одном устройстве. Например, на контроллере, работающем под ОС Linux.

К одному серверу допускается подключение неограниченного* количества узлов и шлюзов.
К одному шлюзу допускается подключение неограниченного* количества узлов и каскадных шлюзов.
* - ограничение обусловлено только производительностью устройств и количеством доступных переменных по лицензии.
Функции сервера
- Предоставление web-интерфейса оператора
- Предоставление web-интерфейса редактора проектов
- Коммуникация со шлюзами
- Опрос полевых устройств (узлов)
- Выполнение скриптов
- Выполнение задач по расписанию
- Хранение исторических данных
- Обработка аварий
- Рассылка уведомлений пользователям
Функции шлюза
- Коммуникация с сервером
- Опрос полевых устройств (узлов)
- Выполнение скриптов
- Выполнение задач по расписанию
- Буферизация данных при разрыве связи
- Отправка данных на сервер
Полезная информация
- Сервер и шлюзы "из коробки" поддерживают SSL
- При наличии доменного имени доступна автоматическая генерация сертификатов LetsEncrypt
- Возможен защищенный интернет-доступ к "локальным" серверам (не требуется белый IP)
- Язык скриптов - ограниченный JS
- Тренды хранятся в бинарных файлах в виде записей фиксированной длинны (16 байт), старые записи автоматически удаляются для экономии места на диске
- Журнал событий (аварии, пользовательские действия и тп.) хранится в БД SQLITE
- Взаимодействие между сервисами выполняется через UNIX-сокеты или TCP-сокеты по JSONRPC2.0/WS
- Все компоненты системы устанавливаются в одну папку (обычно /pult) - легко организовать полное резервное копирование
- Работа пользователей с системой осуществляется через веб-интерфейс сервера с помощью компьютеров и мобильных устройств на любой ОС (Windows, MacOS, Android, iOS, Linux и т.д.).
- Не требуется установки дополнительного ПО и приложений - работа с системой осуществляется через обычный браузер. Все функции системы доступны онлайн, включая редактор проектов с графическим редактором мнемосхем.
- Дистрибутивы Сервера и Шлюза полностью устанавливаются в одну папку (обычно /pult) и представляют из себя наборы исполняемых файлов, размещенных в папке services, которые взаимодействуют по протоколу JSONRPC2.0 и по сути являются микросервисами.
- Каждый микросервис выполняет свою задачу (например, отправку уведомлений по SMS или мониторинг MQTT-переменных). Настройки микросервисов определяются конфигурационными файлами config.cfg в папке микросервиса.
- Запуск и остановка системы осуществляется скриптами start, stop и restart, размещенными в корне папки установки. При перезагрузке устройства ПО Пульт.Онлайн запускается автоматически, веб-интерфейс сразу становится доступен на заданных портах (обычно 80, 443 или 8008).